博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask 学习笔记 mvc ,sqlalchemy(insert,update)
阅读量:6989 次
发布时间:2019-06-27

本文共 3072 字,大约阅读时间需要 10 分钟。

hot3.png

# 模型类from sqlalchemy import Column, Integer, Stringfrom application.database.mysqldb import Baseclass UserModel(Base):    __tablename__ = 'user'    id = Column(Integer, primary_key=True)    name = Column(String)    def __init__(self, id=None, name=None):        self.id = id        self.name = name

 

# -*- coding: utf-8 -*-# 数据库连接类from sqlalchemy import create_enginefrom sqlalchemy.orm import scoped_session, sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8",                       convert_unicode=True,                       echo=True)db_session = scoped_session(sessionmaker(autocommit=False,                                         autoflush=False,                                         bind=engine))Base = declarative_base()Base.db_session = db_sessionBase.query = db_session.query_property()def init_db():    # 在这里导入所有的可能与定义模型有关的模块,这样他们才会合适地    # 在 metadata 中注册。否则,您将不得不在第一次执行 init_db() 时    # 先导入他们。    Base.metadata.create_all(bind=engine)

 

# -*-coding: utf-8 -*-# 控制器类from flask import render_template, make_response, jsonify, request, flashimport jsonfrom flask.views import Viewfrom application.models.UserModel import UserModelclass User(View):    '''    用户类    '''    methods = ['GET', 'POST']    def dispatch_request(self):        user = UserModel.query.filter(UserModel.id == 2).first()        user_obj = {"id":user.id, "name":user.name}        return jsonify(user_obj)class UserLogin(View):    methods = ['GET', 'POST']    def dispatch_request(self):        if request.method == 'POST':            username = request.form['username']            user = UserModel.query.filter(UserModel.name == username).first()            if user is None:                _user_save = UserModel(name=username)                UserModel.db_session.add(_user_save)                UserModel.db_session.commit()                flash(u"登陆失败!")            else:                UserModel.query.filter(UserModel.id > 2).update({UserModel.name:'tets2'})                UserModel.db_session.commit()                flash(u"登陆成功!")            return render_template('user/login.html')        else:            return render_template('user/login.html')
{% block head %}
{% block title %}{% endblock %} - My Webpage{% endblock %}{% with messages = get_flashed_messages() %} {% if messages %}
    {% for message in messages %}
  • {
    { message }}
  • {% endfor %}
{% endif %}{% endwith %}
{% block content %}{% endblock %}
{% block footer %}
{% endblock %}
{% extends "common/header.html" %}{% block head %} {
{ super() }} {% endblock %}{% block content %}
{% endblock %}{% block footer %} {
{ super() }}{% endblock %}

转载于:https://my.oschina.net/phper1234/blog/1498969

你可能感兴趣的文章
grep/egrep
查看>>
spring 使用小结
查看>>
我的友情链接
查看>>
一个对含中文字符串在内的字符串排序简便方法
查看>>
Dijkstra(迪杰斯特拉)算法FreePascal及c++实现
查看>>
用open cobol访问oracle
查看>>
simh中安装运行unix v7
查看>>
gradle 构建工具
查看>>
javamail使用总结
查看>>
zabbix proxy出现no active checks on server not found
查看>>
char str[] 和 char *str 的区别
查看>>
我的友情链接
查看>>
bootstrap2和bootstrap3的用法区别概述(四)
查看>>
Ubuntu下屏幕录像、后期处理不完全攻略
查看>>
ListView 相关使用,优化 Day08
查看>>
Python 第十三章 图形界面
查看>>
如何对NetSuite售前进行报价
查看>>
MIME
查看>>
瑞萨单片机(R5F100LE)使用新西达无刷电调 四通道PWM
查看>>
马哥linux 培训第二周作业
查看>>